#include "taskQueue.h"

int taskEnqueue(taskQueue_t *pQueue, int netfd) // 入队
{
    // 尾插法
    task_t *pNew = (task_t *)calloc(1, sizeof(task_t)); // 申请内存空间
    pNew->netfd = netfd;

    if(pQueue->queueSize == 0) // 如果链表为空
    {
        pQueue->pFront = pNew;
        pQueue->pRear = pNew;
    }
    else // 非空
    {
        pQueue->pRear->pNext = pNew;
        pQueue->pRear = pNew;
    }
    ++pQueue->queueSize;

    return 0;

}

int taskDequeue(taskQueue_t *pQueue) // 出队
{
    // 头部删除法
    task_t *pCur = pQueue->pFront;
    pQueue->pFront = pCur->pNext;
    free(pCur);
    --pQueue->queueSize;

    return 0;
}